This invention generally relates to packet-based data communication networks in which data is transmitted by means of packets which include media access control (MAC) addresses and protocol (IP) address data. The invention relates to an improved manner of organising a device which needs to perform both routing and bridging of internet protocol multicast packets.
Two well known operations in multi-port network devices which selectively direct received packets to destinations defined by address data within the packets are xe2x80x98bridgingxe2x80x99 and xe2x80x98routingxe2x80x99. xe2x80x98Bridgingxe2x80x99 is a switching action performed in response to media access control address data within a packet and in essence occurs within the same local area network or the same segment or subnet if, as is common, a network is partitioned into segments, e.g. into xe2x80x98virtual local area networksxe2x80x99. xe2x80x98Routingxe2x80x99 is normally performed in response to xe2x80x98networkxe2x80x99 or xe2x80x98protocolxe2x80x99 address data often called IP address data, and is an action which, though performed in an analogous manner to bridging, requires modification of a packet and particularly a change in its xe2x80x98sourcexe2x80x99 MAC address and consequential modification. Customarily, routers have additional capabilities, such as the ability to select a route to an ultimate destination amongst a multiplicity of possibilities, for example by means of an xe2x80x98RIPxe2x80x99 or xe2x80x98OSPFxe2x80x99 routing protocol. However, as far as the present invention is concerned it is the switching aspect of bridging and routing which is of primary concern.
If a device, such as for example described in GB patent 2337674, which is capable of bridging and routing receives a xe2x80x98multicastxe2x80x99 packet, specifying in effect a multiplicity of destinations of which at least one is in the same network segment hereinafter called for convenience virtual local area network as the source device and another destination is in a different virtual local area network the forwarding engine in the device will according to current practice need both to bridge and to route the packet it will bridge the packet to the first destination and route the packet to the second destination. It is not necessary for the segments or VLANs to be mutually exclusive.
In general, a central look-up and forwarding engine is coupled to the xe2x80x98transmitxe2x80x99 ports of a device by means of a backplanes a system of buses by means of which the packets are retrieved from memory and sent to the respective xe2x80x98transmitxe2x80x99 ports under the control of instructions obtained from the forwarding engine. Where a packet is both bridged and routed, it will inevitably be transmitted from different ports and accordingly the packet normally has to be forwarded a corresponding number of times across the backplane.
The invention is particularly relevant to devices which are composed of a multiplicity of large scale integrated circuits each of which has a look-up and forwarding engine and a respective set of xe2x80x98localxe2x80x99 ports. In such a device the individual integrated circuits or xe2x80x98chipsxe2x80x99 are connected by high speed links (described for example in the published patent applications GB-2336075 and GB 2344030). Thus packets received by one chip but not intended for forwarding exclusively to the ports associated with that device can be forwarded across the links to other chips and on to their intended ports. For a construction such as this it is also desirable to minimise the number of times any version of the same packet needs to be sent across the links which may be regarded as constituting a backplane, between the various chips in the device.
The present invention is based on a distribution of the routing process between a look-up and forwarding engine and the individual processing circuits for transmit ports so that the look-up engine will make the decision on which ports the packet needs to be forwarded whereas, in effect, each transmit port will individually decide whether the packet is routed or bridged from that particular port. Thus the processing which would be performed on a packet that needs to be both routed and bridged is largely removed from the central engine and transferred to the processing circuits associated with transmit ports. Such a reorganisation and redistribution of the routing decision process may minimise or at least substantially lessen the unnecessary occupancy of a backplane or its equivalent by multicast traffic.
As will be explained in detail, the preferred form of the present invention relies on the use of to control flags and the assignment of a default network segment (e.g. VLAN) to each port to determine the processing that has to be performed on a packet by a transmit processor.
Further features of the invention and a fuller explanation of it are set out in the following description of a specific example, with reference to the accompanying drawings.